"""
3.3_日志记录实例应用
"""
import logging
# 创建一个名为test_logger的logger对象
logger = logging.getLogger('test_logger')
# 设置logger对象的日志级别为DEBUG
logger.setLevel(logging.DEBUG)
# 创建控制台实例
sh = logging.StreamHandler()
# 设置控制台输出的日志级别
sh.setLevel(logging.DEBUG)
# 设置输出的日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 设置控制台输出的日志格式
sh.setFormatter(formatter)
# 加载控制台实例到logger对象中
logger.addHandler(sh)
# 加入异常处理机制
try:
    # 设置了一个不存在的文件路径，通过open()函数打开它
    open('/path/to/does/not/exist', 'rb')
    # 打开一个真实存在的文件，并且输出文件内容
    # with open('/Users/1117i/mygit/zrlog_test/3_使用logging库记录日志信息/3.2_将日志输出到控制台和文件/api.log','r') as f:
    #     data = f.read()
    #     print(data)
    # 当文件存在时程序不会产生异常，以下日志信息将输出到控制台
    logger.info('文件被正常打开')
except Exception as e:
    # 当文件不存在时将产生异常，以下错误日志信息将输出到控制台
    logger.error('很抱歉，文件打开失败了')

# 运行结果如下：
# 2024-12-31 15:38:32,273 - test_logger - ERROR - 很抱歉，文件打开失败了

